V. 收藏向!零基础10分钟入门嵌入式!_哔哩哔哩_bilibili

收藏向!零基础10分钟入门嵌入式!_哔哩哔哩_bilibili

1. 什么是嵌入式处理器

MCU(Micro-Controller Unit,单片机):集成了处理器核、内存(ROM、RAM)、寄存器、输入/输出接口和时钟的单一芯片。资源有限、逻辑简单、特定任务。家电,汽车控制、物联网设备。

DSP(Digital Signal Processor):德克萨斯仪器公司专门设计用于处理数字信号的处理器。其机器指令对数字信号中的卷积、傅里叶变换、乘法、除法等运算非常快速。因其在数字信号处理方面的高效运算能力而得名。涉及数字信号(音频,图像等)处理。无线通信、音频处理、雷达系统等涉及数字信号处理的场景。

FPGA(Field-Programmable Gate Array):可在实际使用前由用户编程的集成电路。利用可编程互连(verilog/VHDL)将可编程逻辑块(大量零散的与、或、非门电路块)按特定功能相连,形成复杂的组合逻辑或时序逻辑。灵活性,可重构性,高实时性。原型设计,加速计算,仪器测控,FPS 游戏的内存 DMA 桥梁。

2. 什么是硬件,软件,固件?

硬件是嵌入式系统中的物理组件,包括处理器、传感器、执行器、存储器等,其中处理器和存储器相当于人的大脑,处理器负责思考和支配身体,存储器负责记忆知识,而传感器和执行器相当于人的四肢,传感器帮助人获取知觉,执行器负责执行大脑指定的动作,硬件是嵌入式系统的基础,开发者需要设计和布局硬件电路,选择适当的处理器和外围设备以满足系统需求。

软件是在嵌入式系统上运行的可执行代码和数据的结合,包括应用程序、驱动程序、算法等,软件就像人的思维进入数据时人已知的知识,可执行代码是人的行为逻辑,操作系统就像人的神经系统既具备物质基础又调控思维。软件是嵌入式系统的核心,开发者根据系统的计算和控制任务开发相应的操作系统与程序。

把以上两者联系起来的是固件,它是介于硬件和软件之间的一类软件,是存储在非易失性存储器中的代码和数据,用于控制硬件设备的操作和功能。它作为嵌入式系统的桥梁用于初始化硬件、加载操作系统或直接执行控制功能。

3. 典型 MCU 结构与功能

众所周知一台完整的计算机要由处理器、存储器、输入输出组成。

如果把单片机比作一个工厂的话,那处理器就是其中的流水线,是核心中的核心。他要负责将仓库中的原料运上工作台,进行相应的处理,同时调配好生产速度。分别对应着它寄存、运算和控制三个功能。

一个构建复杂系统的流水线,自身就需要有一套合理的运行机制,时钟就是答案。流水线的时钟为定时器提供了一个定时基准,当定时器达到预先设定的时间后触发中断,流水线得到命令进行新的生产周而复始。生产完A部件后生产B部件,生产完B部件后生产C部件,生产完C部件后重新生产A部件,这样就能保证总体效率。

看门狗的名字也很形象,一只负责监视工厂安全的狗,如果你不按时喂给它食物,它就会判断系统出现了问题需要复位重启

流水线能正常工作供给其生产的仓库也要足够给力,经验证明分级存储是一个高效的存储方案。试想一个工厂要想保证全负荷生产那原材料最好伸手即来,但流水线自身装不了太多的原料所以工厂会按计划定时将仓库中的原料转运到流水线旁的货架上,就实现了伸手即来又不过度占用空间。

在单片机中 ROM 是只读存储器它只能读取在出厂前已被写定的内容无法修改,用于程序启动和内核功能调用就像工厂中负责装配的机械臂中的程序一样,他能够按照预定的方式工作我们也不必去更改它

RAM 是静态随机存储器,它读写速度较快但断电数据会丢失,它就是我们前面提及的流水线旁的货架,负责临时存储运行时数据

flash 是闪存读写速度适中,断电后数据不会丢失,它就是我们前面提及的装原料的仓库,用于存储程序代码数据还有烧录的固件

工厂与仓库完整了那原料从哪里来,产品销往哪里,这就涉及到了输入与输出也就是交互。单片机与外部要交互就像原料采购产品也要售出单片机中的芯片之间要交互就像工厂内部各部门要沟通实现通力协作。单片机与其他单片机也要进行交互就像工厂与上下游企业要有合作布料厂的成品要收给制衣厂

在介绍单片机与外部交互前,先为大家区分一组概念模拟量与数字量,模拟量是指连续变化的信号它可以在一定范围内取任何数值且可以无限细分,现实中绝大多数的概念也都是模拟的,例如语音信号、温度速度、电压变化,计算机不能直接处理

而数字量是离散的信号,它在一系列离散的数值中取值,与模拟量不同数字量只能取有限的特定的数值,通常使用二进制来表示这是计算机所能处理的数据,例如电灯的开关、数字图像、时钟等,由于计算机不能直接处理模拟量,所以我们会采用一段时间取一个值的方式将其转化为数字量再进行处理,这就是所谓的采样

当单片机处理完这些数字量后,再通过平滑转化为模拟量进行输出,这就是所谓的滤波。

单片机与外部

清晰了单片机如何与真实世界交互后我们回到输入输出,刚才说过单片机与外部要有交互就像原料要采购产品也要售出,通常有四种方式,

第一种是 GTIO,其与外部设备进行数字通信,允许输入数字量输出数字量,是连接外设与传感器的通用接口。

第二种是脉冲宽度调制,用于产生模拟信号,如控制电机速度、调光 led 等,它通过输出快速切换的数字量高低电平会被电机平均为比较平滑的模拟信号

第三种是魔术转换器它将模拟量转化为数字量,用于从传感器中读取模拟数据,比如获取外界温度

第四种是数模转换器,它将数字量转化为模拟量,用于向执行器生成模拟输出,比如播放音频

芯片与芯片

单片机中的芯片之间要交互,就像工厂内部各部门要沟通实现通力协作通常有三种方式

第一种是 UART,它向两个部门之间发邮件,扁平化管理,甲部门表达我希望你们快点弄出一个策划案,而乙部门可以抱怨时间不够人手不足各说各的(全双工),不必同时(异步)。

而后两种 SPI 和 I2CI2C 则向公司年会大家统一坐在礼堂,CEO 向各个分部门领导传达新一年的规划,两者的差异在于 I2CI2C 总线通过更复杂的协议省去了两条线,代价是更慢的速度和领导发言时不能插嘴(半双工)

三种方式各有优劣,UART 通常应用于与计算机连接,烧录调试程序。SPI 通常与存储器屏幕等要求较快传输速度的设备相连,I2CI2C 由于其接线简单常用于各种传感器连接

单片机与单片机

单片机与其他单片机之间也要交互,就像工厂与上下游企业有合作,布料厂的成品要售给制衣厂目前的嵌入式设备上使用较多的协议是 WIFI、Zigbee、NB-IoT、Bluetooth、LoRa